package com.xw.mailservice.mail.model;

import com.xw.mailservice.model.api.MailAttachment;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.validation.constraints.NotNull;

/**
 * @author 郭飞鹏
 * @date 2017年4月13日 下午2:18:24
 * 回复邮件类
 */
public class SendingMail implements Serializable{
	
	private static final long serialVersionUID = -2137174108606584452L;
	
	private String id;		//邮件id
	private String replyMailId;						//回复哪一封邮件的id
	@NotNull(message="标题不能为空！")
	private String subject;
	private String content;
	@NotNull(message="内容不能为空！")
	private String html;
	private String fromUser;
	@NotNull(message="收件人不能为空！")
	private List<String> toUsers;
	private List<String> ccUsers;
	private List<String> bccUsers;
	private List<MailAttachment> attachmentList;	//附件的url集合
	private int sendFailedTimes;
	private Map<String,String> mailHeader = new HashMap<>();			//邮件头，用于回复邮件
	
	public SendingMail() {}
	
	public String getReplyMailId() {
		return replyMailId;
	}
	public void setReplyMailId(String replyMailId) {
		this.replyMailId = replyMailId;
	}
	public Map<String, String> getMailHeader() {
		return mailHeader;
	}
	public void setMailHeader(Map<String, String> mailHeader) {
		this.mailHeader = mailHeader;
	}


	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public List<MailAttachment> getAttachmentList() {
		return attachmentList;
	}

	public void setAttachmentList(List<MailAttachment> attachmentList) {
		this.attachmentList = attachmentList;
	}

	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getHtml() {
		return html;
	}
	public void setHtml(String html) {
		this.html = html;
	}
	public List<String> getToUsers() {
		return toUsers;
	}
	public void setToUsers(List<String> toUsers) {
		this.toUsers = toUsers;
	}
	public List<String> getCcUsers() {
		return ccUsers;
	}
	public void setCcUsers(List<String> ccUsers) {
		this.ccUsers = ccUsers;
	}
	public List<String> getBccUsers() {
		return bccUsers;
	}
	public void setBccUsers(List<String> bccUsers) {
		this.bccUsers = bccUsers;
	}
	public int getSendFailedTimes() {
		return sendFailedTimes;
	}
	public void setSendFailedTimes(int sendFailedTimes) {
		this.sendFailedTimes = sendFailedTimes;
	}
	public String getFromUser() {
		return fromUser;
	}
	public void setFromUser(String fromUser) {
		this.fromUser = fromUser;
	}
}
